/-app ...
TopLayout.ts
main.css
start.ts
/-docs
/-docs/types
DocHost.ts
/-files
FileTree.css
FileTree.ts
/-imports
/-imports/codemirror
codemirror.css
codemirror.js
codemirror.mihailik.js
codemirror.original.js
codemirror.try.js
/-imports/jquery
/-imports/knockout
/-persistence
/-typings
errors.js
functions.ts
index.html
try.js
37
 
1
module teapo.app {
2
​
3
  export function start() {
4
​
5
    removeSpyScripts();
6
    
7
    ko.bindingHandlers['$element'] = {
8
      init: (elem, valueAccessor, allBindings, viewModel, bindingContext) => {
9
        var invokeFn = valueAccessor();
10
        invokeFn.call(bindingContext.$data, elem);
11
        return { controlsDescendantBindings: true };
12
      }
13
    };
14
    
15
    try { 
16
      var layout = new teapo.app.TopLayout();
17
      ko.applyBindings(layout, document.body);
18
    }
19
    catch (error) { 
20
      alert('teapo.start ' + error + ' ' + error.stack); 
21
    }
22
​
23
  }
24
    
25
  function removeSpyScripts() {
26
    var spyScripts: Element[] = [];
27
    for (var i = 0; i < document.scripts.length; i++) {
28
      if (document.scripts[i].getAttribute('data-legit') !== 'teapo')
29
        spyScripts.push(document.scripts[i]);
30
    }
31
    
32
    for (var i = 0; i < spyScripts.length; i++) {
33
      spyScripts[i].parentNode.removeChild(spyScripts[i]);
34
    }
35
  }
36
​
37
}
9:44 var any